package com.dragon.modules.yuegou.query.member;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.member.TemplateSetEntity;
import com.dragon.modules.yuegou.enums.member.TemplateSetDemotionRule;
import com.dragon.modules.yuegou.enums.member.TemplateSetGradeRule;
import com.dragon.modules.yuegou.enums.member.TemplateSetMemberCode;
import com.dragon.modules.yuegou.enums.member.TemplateSetStatus;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

import java.time.LocalDateTime;

/**
 * 支付宝会员模板设置 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2021-10-26 20:15:21
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class TemplateSetQuery extends TemplateSetEntity implements Query<TemplateSetEntity>{

    /** 主键查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 名称查询条件 */
	@JsonUnwrapped(prefix = "name")
	private Condition<String> nameCondition;

    /** 商圈id查询条件 */
	@JsonUnwrapped(prefix = "busdId")
	private Condition<String> busdIdCondition;

    /** 支付宝会员卡模板ID查询条件 */
	@JsonUnwrapped(prefix = "templateId")
	private Condition<String> templateIdCondition;

    /** 请求支付宝编号查询条件 */
	@JsonUnwrapped(prefix = "requestId")
	private Condition<String> requestIdCondition;

    /** 投放连接查询条件 */
	@JsonUnwrapped(prefix = "cardUrl")
	private Condition<String> cardUrlCondition;

    /** [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件 */
	@JsonUnwrapped(prefix = "memberCode")
	private Condition<TemplateSetMemberCode> memberCodeCondition;

    /** 会员编号前缀查询条件 */
	@JsonUnwrapped(prefix = "bizNoPrefix")
	private Condition<String> bizNoPrefixCondition;

    /** 会员编号长度查询条件 */
	@JsonUnwrapped(prefix = "bizNoSuffixLen")
	private Condition<Integer> bizNoSuffixLenCondition;

    /** 背景字体色查询条件 */
	@JsonUnwrapped(prefix = "bgColor")
	private Condition<String> bgColorCondition;

    /** logo编号查询条件 */
	@JsonUnwrapped(prefix = "logoId")
	private Condition<String> logoIdCondition;

    /** logo地址查询条件 */
	@JsonUnwrapped(prefix = "logoUrl")
	private Condition<String> logoUrlCondition;

    /** 背景图编号查询条件 */
	@JsonUnwrapped(prefix = "backgroundId")
	private Condition<String> backgroundIdCondition;

    /** 背景图地址查询条件 */
	@JsonUnwrapped(prefix = "backgroundUrl")
	private Condition<String> backgroundUrlCondition;

    /** 创建人查询条件 */
	@JsonUnwrapped(prefix = "createdBy")
	private Condition<String> createdByCondition;

    /** 创建时间查询条件 */
	@JsonUnwrapped(prefix = "createdTime")
	private Condition<LocalDateTime> createdTimeCondition;

    /** 修改人查询条件 */
	@JsonUnwrapped(prefix = "modifiedBy")
	private Condition<String> modifiedByCondition;

    /** 修改时间查询条件 */
	@JsonUnwrapped(prefix = "modifiedTime")
	private Condition<LocalDateTime> modifiedTimeCondition;

	/** [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件 */
	@JsonUnwrapped(prefix = "gradeRule")
	private Condition<TemplateSetGradeRule> gradeRuleCondition;

	/** [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件 */
	@JsonUnwrapped(prefix = "demotionRule")
	private Condition<TemplateSetDemotionRule> demotionRuleCondition;

	/** [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件 */
	@JsonUnwrapped(prefix = "status")
	private Condition<TemplateSetStatus> statusCondition;


	/**
	 * 构造一个查询条件对象
	 */
	public TemplateSetQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public TemplateSetQuery(TemplateSetEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public TemplateSetQuery(TemplateSetQuery other) {
		super(other);
		if (other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if (other.nameCondition != null) {
			this.nameCondition = other.nameCondition.copy();
		}
		if (other.busdIdCondition != null) {
			this.busdIdCondition = other.busdIdCondition.copy();
		}
		if (other.templateIdCondition != null) {
			this.templateIdCondition = other.templateIdCondition.copy();
		}
		if (other.requestIdCondition != null) {
			this.requestIdCondition = other.requestIdCondition.copy();
		}
		if (other.cardUrlCondition != null) {
			this.cardUrlCondition = other.cardUrlCondition.copy();
		}
		if (other.memberCodeCondition != null) {
			this.memberCodeCondition = other.memberCodeCondition.copy();
		}
		if (other.bizNoPrefixCondition != null) {
			this.bizNoPrefixCondition = other.bizNoPrefixCondition.copy();
		}
		if (other.bizNoSuffixLenCondition != null) {
			this.bizNoSuffixLenCondition = other.bizNoSuffixLenCondition.copy();
		}
		if (other.bgColorCondition != null) {
			this.bgColorCondition = other.bgColorCondition.copy();
		}
		if (other.logoIdCondition != null) {
			this.logoIdCondition = other.logoIdCondition.copy();
		}
		if (other.logoUrlCondition != null) {
			this.logoUrlCondition = other.logoUrlCondition.copy();
		}
		if (other.backgroundIdCondition != null) {
			this.backgroundIdCondition = other.backgroundIdCondition.copy();
		}
		if (other.backgroundUrlCondition != null) {
			this.backgroundUrlCondition = other.backgroundUrlCondition.copy();
		}
		this.setOther(other);
	}

	private void setOther(TemplateSetQuery other){
		if(other.createdByCondition != null) {
			this.createdByCondition = other.createdByCondition.copy();
		}
		if(other.createdTimeCondition != null) {
			this.createdTimeCondition = other.createdTimeCondition.copy();
		}
		if(other.modifiedByCondition != null) {
			this.modifiedByCondition = other.modifiedByCondition.copy();
		}
		if(other.modifiedTimeCondition != null) {
			this.modifiedTimeCondition = other.modifiedTimeCondition.copy();
		}
		if(other.gradeRuleCondition != null) {
			this.gradeRuleCondition = other.gradeRuleCondition.copy();
		}
		if(other.demotionRuleCondition != null) {
			this.demotionRuleCondition = other.demotionRuleCondition.copy();
		}
		if(other.statusCondition != null) {
			this.statusCondition = other.statusCondition.copy();
		}
	}

	@Override
	public QueryWrapper<TemplateSetEntity> toQueryWrapper() {
		QueryWrapper<TemplateSetEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (nameCondition != null) {
			nameCondition.toWrapper(wrapper, COL_NAME);
		}
		if (busdIdCondition != null) {
			busdIdCondition.toWrapper(wrapper, COL_BUSD_ID);
		}
		if (templateIdCondition != null) {
			templateIdCondition.toWrapper(wrapper, COL_TEMPLATE_ID);
		}
		if (requestIdCondition != null) {
			requestIdCondition.toWrapper(wrapper, COL_REQUEST_ID);
		}
		if (cardUrlCondition != null) {
			cardUrlCondition.toWrapper(wrapper, COL_CARD_URL);
		}
		if (memberCodeCondition != null) {
			memberCodeCondition.toWrapper(wrapper, COL_MEMBER_CODE);
		}
		if (bizNoPrefixCondition != null) {
			bizNoPrefixCondition.toWrapper(wrapper, COL_BIZ_NO_PREFIX);
		}
		if (bizNoSuffixLenCondition != null) {
			bizNoSuffixLenCondition.toWrapper(wrapper, COL_BIZ_NO_SUFFIX_LEN);
		}
		if (bgColorCondition != null) {
			bgColorCondition.toWrapper(wrapper, COL_BG_COLOR);
		}
		if (logoIdCondition != null) {
			logoIdCondition.toWrapper(wrapper, COL_LOGO_ID);
		}
		if (logoUrlCondition != null) {
			logoUrlCondition.toWrapper(wrapper, COL_LOGO_URL);
		}
		if (backgroundIdCondition != null) {
			backgroundIdCondition.toWrapper(wrapper, COL_BACKGROUND_ID);
		}
		if (backgroundUrlCondition != null) {
			backgroundUrlCondition.toWrapper(wrapper, COL_BACKGROUND_URL);
		}
		return getQueryWrapper(wrapper);
	}

	private QueryWrapper<TemplateSetEntity> getQueryWrapper(QueryWrapper<TemplateSetEntity> wrapper){
		if (createdByCondition != null) {
			createdByCondition.toWrapper(wrapper, COL_CREATED_BY);
		}
		if (createdTimeCondition != null) {
			createdTimeCondition.toWrapper(wrapper, COL_CREATED_TIME);
		}
		if (modifiedByCondition != null) {
			modifiedByCondition.toWrapper(wrapper, COL_MODIFIED_BY);
		}
		if (modifiedTimeCondition != null) {
			modifiedTimeCondition.toWrapper(wrapper, COL_MODIFIED_TIME);
		}
		if (gradeRuleCondition != null) {
			gradeRuleCondition.toWrapper(wrapper, COL_GRADE_RULE);
		}
		if (demotionRuleCondition != null) {
			demotionRuleCondition.toWrapper(wrapper, COL_DEMOTION_RULE);
		}
		if (statusCondition != null) {
			statusCondition.toWrapper(wrapper, COL_STATUS);
		}
		return wrapper;
	}

	/**
	 * 构造并返回主键查询条件
	 * 
	 * @return idCondition 主键查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取主键查询条件
	 * 
	 * @return idCondition 主键查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置主键查询条件
	 * 
	 * @param idCondition 主键查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回名称查询条件
	 * 
	 * @return nameCondition 名称查询条件
	 */
	public Condition<String> name() {
		this.nameCondition = new Condition<>();
		return this.nameCondition;
	}
	
	/**
	 * 获取名称查询条件
	 * 
	 * @return nameCondition 名称查询条件
	 */
	public Condition<String> getNameCondition() {
		return nameCondition;
	}

	/**
	 * 设置名称查询条件
	 * 
	 * @param nameCondition 名称查询条件
	 */
	public void setNameCondition(Condition<String> nameCondition) {
		this.nameCondition = nameCondition;
	}

	/**
	 * 构造并返回商圈id查询条件
	 * 
	 * @return busdIdCondition 商圈id查询条件
	 */
	public Condition<String> busdId() {
		this.busdIdCondition = new Condition<>();
		return this.busdIdCondition;
	}
	
	/**
	 * 获取商圈id查询条件
	 * 
	 * @return busdIdCondition 商圈id查询条件
	 */
	public Condition<String> getBusdIdCondition() {
		return busdIdCondition;
	}

	/**
	 * 设置商圈id查询条件
	 * 
	 * @param busdIdCondition 商圈id查询条件
	 */
	public void setBusdIdCondition(Condition<String> busdIdCondition) {
		this.busdIdCondition = busdIdCondition;
	}

	/**
	 * 构造并返回支付宝会员卡模板ID查询条件
	 * 
	 * @return templateIdCondition 支付宝会员卡模板ID查询条件
	 */
	public Condition<String> templateId() {
		this.templateIdCondition = new Condition<>();
		return this.templateIdCondition;
	}
	
	/**
	 * 获取支付宝会员卡模板ID查询条件
	 * 
	 * @return templateIdCondition 支付宝会员卡模板ID查询条件
	 */
	public Condition<String> getTemplateIdCondition() {
		return templateIdCondition;
	}

	/**
	 * 设置支付宝会员卡模板ID查询条件
	 * 
	 * @param templateIdCondition 支付宝会员卡模板ID查询条件
	 */
	public void setTemplateIdCondition(Condition<String> templateIdCondition) {
		this.templateIdCondition = templateIdCondition;
	}

	/**
	 * 构造并返回请求支付宝编号查询条件
	 * 
	 * @return requestIdCondition 请求支付宝编号查询条件
	 */
	public Condition<String> requestId() {
		this.requestIdCondition = new Condition<>();
		return this.requestIdCondition;
	}
	
	/**
	 * 获取请求支付宝编号查询条件
	 * 
	 * @return requestIdCondition 请求支付宝编号查询条件
	 */
	public Condition<String> getRequestIdCondition() {
		return requestIdCondition;
	}

	/**
	 * 设置请求支付宝编号查询条件
	 * 
	 * @param requestIdCondition 请求支付宝编号查询条件
	 */
	public void setRequestIdCondition(Condition<String> requestIdCondition) {
		this.requestIdCondition = requestIdCondition;
	}

	/**
	 * 构造并返回投放连接查询条件
	 * 
	 * @return cardUrlCondition 投放连接查询条件
	 */
	public Condition<String> cardUrl() {
		this.cardUrlCondition = new Condition<>();
		return this.cardUrlCondition;
	}
	
	/**
	 * 获取投放连接查询条件
	 * 
	 * @return cardUrlCondition 投放连接查询条件
	 */
	public Condition<String> getCardUrlCondition() {
		return cardUrlCondition;
	}

	/**
	 * 设置投放连接查询条件
	 * 
	 * @param cardUrlCondition 投放连接查询条件
	 */
	public void setCardUrlCondition(Condition<String> cardUrlCondition) {
		this.cardUrlCondition = cardUrlCondition;
	}

	/**
	 * 构造并返回[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 * 
	 * @return memberCodeCondition [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 */
	public Condition<TemplateSetMemberCode> memberCode() {
		this.memberCodeCondition = new Condition<>();
		return this.memberCodeCondition;
	}
	
	/**
	 * 获取[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 * 
	 * @return memberCodeCondition [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 */
	public Condition<TemplateSetMemberCode> getMemberCodeCondition() {
		return memberCodeCondition;
	}

	/**
	 * 设置[枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 * 
	 * @param memberCodeCondition [枚举]码类型：1-动态二维码-DQRCODE、2-动态条形码-DBARCODE查询条件
	 */
	public void setMemberCodeCondition(Condition<TemplateSetMemberCode> memberCodeCondition) {
		this.memberCodeCondition = memberCodeCondition;
	}

	/**
	 * 构造并返回会员编号前缀查询条件
	 * 
	 * @return bizNoPrefixCondition 会员编号前缀查询条件
	 */
	public Condition<String> bizNoPrefix() {
		this.bizNoPrefixCondition = new Condition<>();
		return this.bizNoPrefixCondition;
	}
	
	/**
	 * 获取会员编号前缀查询条件
	 * 
	 * @return bizNoPrefixCondition 会员编号前缀查询条件
	 */
	public Condition<String> getBizNoPrefixCondition() {
		return bizNoPrefixCondition;
	}

	/**
	 * 设置会员编号前缀查询条件
	 * 
	 * @param bizNoPrefixCondition 会员编号前缀查询条件
	 */
	public void setBizNoPrefixCondition(Condition<String> bizNoPrefixCondition) {
		this.bizNoPrefixCondition = bizNoPrefixCondition;
	}

	/**
	 * 构造并返回会员编号长度查询条件
	 * 
	 * @return bizNoSuffixLenCondition 会员编号长度查询条件
	 */
	public Condition<Integer> bizNoSuffixLen() {
		this.bizNoSuffixLenCondition = new Condition<>();
		return this.bizNoSuffixLenCondition;
	}
	
	/**
	 * 获取会员编号长度查询条件
	 * 
	 * @return bizNoSuffixLenCondition 会员编号长度查询条件
	 */
	public Condition<Integer> getBizNoSuffixLenCondition() {
		return bizNoSuffixLenCondition;
	}

	/**
	 * 设置会员编号长度查询条件
	 * 
	 * @param bizNoSuffixLenCondition 会员编号长度查询条件
	 */
	public void setBizNoSuffixLenCondition(Condition<Integer> bizNoSuffixLenCondition) {
		this.bizNoSuffixLenCondition = bizNoSuffixLenCondition;
	}

	/**
	 * 构造并返回背景字体色查询条件
	 * 
	 * @return bgColorCondition 背景字体色查询条件
	 */
	public Condition<String> bgColor() {
		this.bgColorCondition = new Condition<>();
		return this.bgColorCondition;
	}
	
	/**
	 * 获取背景字体色查询条件
	 * 
	 * @return bgColorCondition 背景字体色查询条件
	 */
	public Condition<String> getBgColorCondition() {
		return bgColorCondition;
	}

	/**
	 * 设置背景字体色查询条件
	 * 
	 * @param bgColorCondition 背景字体色查询条件
	 */
	public void setBgColorCondition(Condition<String> bgColorCondition) {
		this.bgColorCondition = bgColorCondition;
	}

	/**
	 * 构造并返回logo编号查询条件
	 * 
	 * @return logoIdCondition logo编号查询条件
	 */
	public Condition<String> logoId() {
		this.logoIdCondition = new Condition<>();
		return this.logoIdCondition;
	}
	
	/**
	 * 获取logo编号查询条件
	 * 
	 * @return logoIdCondition logo编号查询条件
	 */
	public Condition<String> getLogoIdCondition() {
		return logoIdCondition;
	}

	/**
	 * 设置logo编号查询条件
	 * 
	 * @param logoIdCondition logo编号查询条件
	 */
	public void setLogoIdCondition(Condition<String> logoIdCondition) {
		this.logoIdCondition = logoIdCondition;
	}

	/**
	 * 构造并返回logo地址查询条件
	 * 
	 * @return logoUrlCondition logo地址查询条件
	 */
	public Condition<String> logoUrl() {
		this.logoUrlCondition = new Condition<>();
		return this.logoUrlCondition;
	}
	
	/**
	 * 获取logo地址查询条件
	 * 
	 * @return logoUrlCondition logo地址查询条件
	 */
	public Condition<String> getLogoUrlCondition() {
		return logoUrlCondition;
	}

	/**
	 * 设置logo地址查询条件
	 * 
	 * @param logoUrlCondition logo地址查询条件
	 */
	public void setLogoUrlCondition(Condition<String> logoUrlCondition) {
		this.logoUrlCondition = logoUrlCondition;
	}

	/**
	 * 构造并返回背景图编号查询条件
	 * 
	 * @return backgroundIdCondition 背景图编号查询条件
	 */
	public Condition<String> backgroundId() {
		this.backgroundIdCondition = new Condition<>();
		return this.backgroundIdCondition;
	}
	
	/**
	 * 获取背景图编号查询条件
	 * 
	 * @return backgroundIdCondition 背景图编号查询条件
	 */
	public Condition<String> getBackgroundIdCondition() {
		return backgroundIdCondition;
	}

	/**
	 * 设置背景图编号查询条件
	 * 
	 * @param backgroundIdCondition 背景图编号查询条件
	 */
	public void setBackgroundIdCondition(Condition<String> backgroundIdCondition) {
		this.backgroundIdCondition = backgroundIdCondition;
	}

	/**
	 * 构造并返回背景图地址查询条件
	 * 
	 * @return backgroundUrlCondition 背景图地址查询条件
	 */
	public Condition<String> backgroundUrl() {
		this.backgroundUrlCondition = new Condition<>();
		return this.backgroundUrlCondition;
	}
	
	/**
	 * 获取背景图地址查询条件
	 * 
	 * @return backgroundUrlCondition 背景图地址查询条件
	 */
	public Condition<String> getBackgroundUrlCondition() {
		return backgroundUrlCondition;
	}

	/**
	 * 设置背景图地址查询条件
	 * 
	 * @param backgroundUrlCondition 背景图地址查询条件
	 */
	public void setBackgroundUrlCondition(Condition<String> backgroundUrlCondition) {
		this.backgroundUrlCondition = backgroundUrlCondition;
	}

	/**
	 * 构造并返回创建人查询条件
	 * 
	 * @return createdByCondition 创建人查询条件
	 */
	public Condition<String> createdBy() {
		this.createdByCondition = new Condition<>();
		return this.createdByCondition;
	}
	
	/**
	 * 获取创建人查询条件
	 * 
	 * @return createdByCondition 创建人查询条件
	 */
	public Condition<String> getCreatedByCondition() {
		return createdByCondition;
	}

	/**
	 * 设置创建人查询条件
	 * 
	 * @param createdByCondition 创建人查询条件
	 */
	public void setCreatedByCondition(Condition<String> createdByCondition) {
		this.createdByCondition = createdByCondition;
	}

	/**
	 * 构造并返回创建时间查询条件
	 * 
	 * @return createdTimeCondition 创建时间查询条件
	 */
	public Condition<LocalDateTime> createdTime() {
		this.createdTimeCondition = new Condition<>();
		return this.createdTimeCondition;
	}
	
	/**
	 * 获取创建时间查询条件
	 * 
	 * @return createdTimeCondition 创建时间查询条件
	 */
	public Condition<LocalDateTime> getCreatedTimeCondition() {
		return createdTimeCondition;
	}

	/**
	 * 设置创建时间查询条件
	 * 
	 * @param createdTimeCondition 创建时间查询条件
	 */
	public void setCreatedTimeCondition(Condition<LocalDateTime> createdTimeCondition) {
		this.createdTimeCondition = createdTimeCondition;
	}

	/**
	 * 构造并返回修改人查询条件
	 * 
	 * @return modifiedByCondition 修改人查询条件
	 */
	public Condition<String> modifiedBy() {
		this.modifiedByCondition = new Condition<>();
		return this.modifiedByCondition;
	}
	
	/**
	 * 获取修改人查询条件
	 * 
	 * @return modifiedByCondition 修改人查询条件
	 */
	public Condition<String> getModifiedByCondition() {
		return modifiedByCondition;
	}

	/**
	 * 设置修改人查询条件
	 * 
	 * @param modifiedByCondition 修改人查询条件
	 */
	public void setModifiedByCondition(Condition<String> modifiedByCondition) {
		this.modifiedByCondition = modifiedByCondition;
	}

	/**
	 * 构造并返回修改时间查询条件
	 * 
	 * @return modifiedTimeCondition 修改时间查询条件
	 */
	public Condition<LocalDateTime> modifiedTime() {
		this.modifiedTimeCondition = new Condition<>();
		return this.modifiedTimeCondition;
	}
	
	/**
	 * 获取修改时间查询条件
	 * 
	 * @return modifiedTimeCondition 修改时间查询条件
	 */
	public Condition<LocalDateTime> getModifiedTimeCondition() {
		return modifiedTimeCondition;
	}

	/**
	 * 设置修改时间查询条件
	 * 
	 * @param modifiedTimeCondition 修改时间查询条件
	 */
	public void setModifiedTimeCondition(Condition<LocalDateTime> modifiedTimeCondition) {
		this.modifiedTimeCondition = modifiedTimeCondition;
	}

	/**
	 * 构造并返回[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 *
	 * @return gradeRuleCondition [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 */
	public Condition<TemplateSetGradeRule> gradeRule() {
		this.gradeRuleCondition = new Condition<>();
		return this.gradeRuleCondition;
	}

	/**
	 * 获取[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 *
	 * @return gradeRuleCondition [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 */
	public Condition<TemplateSetGradeRule> getGradeRuleCondition() {
		return gradeRuleCondition;
	}

	/**
	 * 设置[枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 *
	 * @param gradeRuleCondition [枚举]等级规则：0-成长值-GROWTH、1-指定条件-SPECIFIED查询条件
	 */
	public void setGradeRuleCondition(Condition<TemplateSetGradeRule> gradeRuleCondition) {
		this.gradeRuleCondition = gradeRuleCondition;
	}

	/**
	 * 构造并返回[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 *
	 * @return demotionRuleCondition [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 */
	public Condition<TemplateSetDemotionRule> demotionRule() {
		this.demotionRuleCondition = new Condition<>();
		return this.demotionRuleCondition;
	}

	/**
	 * 获取[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 *
	 * @return demotionRuleCondition [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 */
	public Condition<TemplateSetDemotionRule> getDemotionRuleCondition() {
		return demotionRuleCondition;
	}

	/**
	 * 设置[枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 *
	 * @param demotionRuleCondition [枚举]降/保级设置：0-只降一级-SIMPLE、1-可降多级-MULTI查询条件
	 */
	public void setDemotionRuleCondition(Condition<TemplateSetDemotionRule> demotionRuleCondition) {
		this.demotionRuleCondition = demotionRuleCondition;
	}

	/**
	 * 构造并返回[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 *
	 * @return statusCondition [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 */
	public Condition<TemplateSetStatus> status() {
		this.statusCondition = new Condition<>();
		return this.statusCondition;
	}

	/**
	 * 获取[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 *
	 * @return statusCondition [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 */
	public Condition<TemplateSetStatus> getStatusCondition() {
		return statusCondition;
	}

	/**
	 * 设置[枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 *
	 * @param statusCondition [枚举]状态：0-草稿-DRAFT、1-已发布-PUBLISH查询条件
	 */
	public void setStatusCondition(Condition<TemplateSetStatus> statusCondition) {
		this.statusCondition = statusCondition;
	}

}
